package pf.springBoot.springBootSSO.dal.impl;

import java.util.Calendar;

import org.springframework.stereotype.Repository;

import pf.java.pfHelperNotSpring.ISqlExecute;
import pf.java.pfHelperNotSpring.PFDataTable;
//import pf.java.pfHelper.PFSqlConn;
import pf.java.pfHelperNotSpring.SqlExpressionOperator;
import pf.java.pfHelperNotSpring.SqlWhereCollection;
import pf.java.pfHelper.config.PFDataHelper;
import pf.springBoot.springBootSSO.dal.AccessBase;
import pf.springBoot.springBootSSO.dal.IBalanceDAL;

@Repository
public class BalanceDAL extends AccessBase implements 
IBalanceDAL
{
	@Override
    public  ISqlExecute GetSqlExec() throws Exception
    {
            return GetBalanceSqlConn();
    }
//    public  PFSqlConn yjquery()
//    {
//            return GetYJQuerySqlExec();
//    }
//    protected PFSqlConn DaySqlExec()
//    {
//        get
//        {
//            return new ProcManager(DayConnectionString);
//        }
//    }
//
//
//    #region 用户访问记录
//    /// <summary>
//    /// 查询用户访问次数
//    /// </summary>
//    /// <returns></returns>
//    public DataTable GetUserVisitCount(UserVisitLogQuery query)
//    {
//        var sql = string.Format(
//            //"select UserNo,UserName,FuncCode,FuncName,count(UserNo) as TotalTimes from UserVisitLog {0} group by UserNo,UserName,FuncCode,FuncName",
//            "select UserNo,UserName,FuncCode,FuncName,count(UserNo) as TotalTimes,MAX(CreateDate) as LastVisitTime from UserVisitLog {0} group by UserNo,UserName,FuncCode,FuncName order by MAX(CreateDate) desc ",
//           new SqlWhereCollection() { { "UserNo", query.UserNo }, { "UserName", query.UserName }, { "FuncCode", query.FuncCode } }.ToSql());
//        return SqlExec.GetQueryTable(sql);
//    }
//    /// <summary>
//    /// 查询分公司访问次数的汇总数据
//    /// </summary>
//    /// <returns></returns>
//    //public DataTable GetFgsVisitSummary(string funcCode)
//    //{
//    //    var sql = string.Format("select UserName as FgsName,count(UserNo) as TotalTimes from UserVisitLog where UserNo like 'f%' {0} group by UserNo,UserName",
//    //       new SqlWhereCollection { { "FuncCode", funcCode }}.ToSql(SqlWhereCollection.WhereOrEnd.And));
//    //    return SqlExec.GetQueryTable(sql);
//    //}
//    public DataTable GetFgsVisitSummary(string funcCode,string cmonth)
//    {
//        var query = new SqlWhereCollection { { "FuncCode", funcCode } };
//        if (!(PFDataHelper.StringIsNullOrWhiteSpace(cmonth) || cmonth == "全部"))
//        {
//            DateTime? start = null;
//            DateTime? end = null;
//            PFDataHelper.CMonthToDateRange(cmonth, out start, out end);
//            query.Add("CreateDate", start, SqlExpressionOperator.Greater);
//            query.Add("CreateDate", end, SqlExpressionOperator.Less);
//        }
//        var sql = string.Format("select Sf,SfName ,count(Sf) as TotalTimes from UserVisitLog where  isnull(Sf,'')<>'' {0}  group by Sf,SfName",
//           query.ToSql(SqlWhereCollection.WhereOrAnd.And));
//        return SqlExec.GetQueryTable(sql);
//    }
//    /// <summary>
//    /// 查询用户访问记录
//    /// </summary>
//    /// <param name="userNo"></param>
//    /// <returns></returns>
//    public DataTable GetUserVisitLog(UserVisitLogQuery query)
//    {
//        var sql = string.Format("select * from UserVisitLog {0} order by CreateDate desc",
//            new SqlWhereCollection {
//                { "UserNo", query.UserNo },
//                { "UserName", query.UserName },
//                { "Sf", query.Sf }
//            }.ToSql());
//        return SqlExec.GetQueryTable(sql);
//    }
//    /// <summary>
//    /// 新增用户访问记录
//    /// </summary>
//    /// <param name="model"></param>
//    /// <returns></returns>
//    public bool CreateUserVisitLog(UserVisitLogCreate model)
//    {
//
//        var sqlexec = SqlExec;
//        StringBuilder sb = new StringBuilder();
//        sqlexec.ClearParameter();
//
//        if (model != null)
//        {
//            if((!string.IsNullOrWhiteSpace(model.Sf))&& (string.IsNullOrWhiteSpace(model.SfName)))
//            {
//                var r = sqlexec.QuerySingleValue(" select top 1 SFNAME from newshop.dbo.sf_new where SFNO='"+model.Sf+"'");
//                if (r != null && r != DBNull.Value) { model.SfName = r.ToString(); }
//            }
//            var insert = new SqlInsertCollection(model);
//            sb.AppendFormat(@" insert into UserVisitLog({0},CreateDate) values({1},getdate())
//            ", insert.ToKeysSql(), insert.ToValuesSql());
//        }
//        sqlexec = SqlExec;//这里必需重新new一个，因为上面QuerySingleValue之后，conn已经closed了--wxj20181114
//        return sqlexec.ExecuteTransactSql(sb.ToString());
//    }
    /// <summary>
    /// 今日访问次数（为了因为日志记录功能是否正常）
    /// </summary>
    /// <returns></returns>
    public int GetDayVisitCount(Calendar day)
    {
        String sql = PFDataHelper.FormatString("select count(*) from UserVisitLog {0} ",
           new SqlWhereCollection() {
               /**
			 * 
			 */
			private static final long serialVersionUID = 1L;

			{ 
            	   Add("CreateDate",PFDataHelper.GetDayStart(day), SqlExpressionOperator.Greater );
            	   Add("CreateDate", PFDataHelper.GetDayEnd(day), SqlExpressionOperator.Less );
           }}.ToSql());
        Integer r;
		try {
			r = PFDataHelper.ObjectToInt(GetSqlExec().QuerySingleValue(sql));
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return -1;
		}
        return r==null?0:r.intValue();
    }
//    #endregion
//
//    #region 文件管理(阿里云)
//    public bool AddFile(PFFile file)
//    {
//        var sqlexec = SqlExec;
//        StringBuilder sb = new StringBuilder();
//        sqlexec.ClearParameter();
//        var insert = new SqlInsertCollection(file);
//        sb.AppendFormat(@" insert into [PFFile] ({0}) 
//            values({1})",
//            insert.ToKeysSql(),
//            insert.ToValuesSql()
//            );
//        SqlString = sb.ToString();
//        return sqlexec.ExecuteTransactSql(SqlString);
//    }
//    public DataTable GetFiles(params string[] aliKeys)
//    {
//        var inSql = string.Join(",",aliKeys.ToArray().Select(a => "'" + a + "'"));
//        SqlString=string.Format(@" select * from [PFFile] where AliKey in ({0})",
//            inSql
//            );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    public DataTable DeleteFiles(params string[] aliKeys)
//    {
//        var inSql = string.Join(",", aliKeys.ToArray().Select(a => "'" + a + "'"));
//        SqlString = string.Format(@" delete  from [PFFile] where AliKey in ({0})",
//            inSql
//            );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    public DataTable DeleteFilesById(params string[] ids)
//    {
//        var inSql = string.Join(",", ids.ToArray().Select(a => "'" + a + "'"));
//        SqlString = string.Format(@" delete  from [PFFile] where AliKey in ({0})",
//            inSql
//            );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    #endregion
//    #region 分公司与专卖店
//    /// <summary>
//    /// 省份下拉数据源(SFNO,SFNAME)
//    /// </summary>
//    public DataTable GetSF()
//    {
//        SqlString = "select * from newshop.dbo.sf_new";
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查省份名
//    /// </summary>
//    public string GetSFName(string sf)
//    {
//        SqlString = "select SFNAME from newshop.dbo.sf_new where SFNO='"+sf+"'";
//        return (SqlExec.QuerySingleValue(SqlString)??"").ToString();
//    }
//    /// <summary>
//    /// 查省份名（后面多个省字）
//    /// </summary>
//    [Obsolete("以后不要在省份名后加'省'字")]
//    public string GetSFName2(string sf)
//    {
//        var result = GetSFName(sf);
//        if (!string.IsNullOrWhiteSpace(result)) { result += "省"; }
//        return result;
//    }
//
//    ///// <summary>
//    ///// 城市下拉数据源(从fgs表分组出来)
//    ///// </summary>
//    //public DataTable GetCityBySF(string sf)
//    //{
//    //    SqlString = string.Format("select city from newshop.dbo.fgs where Sfno='{0}' group by city ", sf);
//    //    return SqlExec.GetQueryTable(SqlString);
//    //}
//
//    /// <summary>
//    /// 城市下拉数据源(从fgs表分组出来)
//    /// </summary>
//    public DataTable GetCityBySF(string sf)
//    {
//        SqlString = string.Format(" select a.city from newshop.dbo.agent a,newshop.dbo.fgs b where a.fgsno=b.fgsno and b.sfno='{0}' and a.city is not null group by a.city ", sf);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 县下拉数据源(从agent表分组出来)
//    /// </summary>
//    public DataTable GetCountyByCity(string sf, string cityname)
//    {
//        SqlString = string.Format(@"
//select county from newshop.dbo.agent   
//where fgsno in(    
//  select fgsno from newshop.dbo.fgs     
//  {0}     
//) {1}
//group by county    
//",
//new SqlWhereCollection { { "Sfno", sf } }.ToSql(),
//new SqlWhereCollection { { "city", cityname } }.ToSql(SqlWhereCollection.WhereOrAnd.And));
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 根据省市查询分公司
//    /// </summary>
//    public DataTable GetFgsByArea(string sf, string cityname)
//    {
//        SqlString = string.Format("select * from newshop.dbo.fgs {0} ",
//            new SqlWhereCollection { { "Sfno", sf }, { "city", cityname } }.ToSql());
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    ///// <summary>
//    ///// 根据省市查询专卖店
//    ///// </summary>
//    //public DataTable GetAgentByArea(string sf, string cityname)
//    //{
//    //    SqlString = string.Format("select * from newshop.dbo.agent {0} ",
//    //        new SqlWhereCollection { { "province_no", sf }, { "city", cityname } }.ToSql());
//    //    return SqlExec.GetQueryTable(SqlString);
//    //}
//
//    /// <summary>
//    /// 根据省市查询专卖店
//    /// </summary>
//    public DataTable GetAgentByArea(string sf, string cityname, string countyname)
//    {
//        SqlString = string.Format(@"
//select * from newshop.dbo.agent 
//where fgsno in(
//select fgsno from newshop.dbo.fgs
//{0} 
//) and newshop.dbo.agent.agentno like '9%' {1} ",
//new SqlWhereCollection { { "Sfno", sf } }.ToSql(),
//new SqlWhereCollection { { "city", cityname }, { "county", countyname } }.ToSql(SqlWhereCollection.WhereOrAnd.And));
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
    /// <summary>
    /// 根据分公司编码查询公公司(sf,sfname,fgs,fgsname)
    /// </summary>
    /// <param name="hybh"></param>
    /// <param name="typeId"></param>
    /// <param name="cmonth"></param>
    /// <returns></returns>
    public PFDataTable GetSFByFgs(String fgs)
    {
        SqlString =PFDataHelper.FormatString(" select top 1 b.SFNO as sf,b.SFNAME as sfname,a.fgsno as fgs,a.Name as fgsname FROM newshop.dbo.fgs a left join newshop.dbo.sf_new b on b.SFNO=a.Sfno where a.fgsno='{0}' ", 
        		fgs);
        try {
			return GetSqlExec().GetDataTable(SqlString,null);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        return null;
    }
//    /// <summary>
//    /// 查询分公司及省份列表(fgs,fgsname,sf,sfname)
//    /// </summary>
//    public DataTable GetFgsList()
//    {
//        SqlString = string.Format(@" 
//select b.SFNO as sf,b.SFNAME as sfname,a.fgsno as fgs,a.Name as fgsname
//FROM newshop.dbo.fgs a left join newshop.dbo.sf_new b on b.SFNO=a.Sfno
//where a.sfno is not null
//");
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    
//    /// <summary>
//    /// 验证专卖店是否匹配省份
//    /// </summary>
//    /// <param name="agentno"></param>
//    /// <param name="sf"></param>
//    /// <returns></returns>
//    public bool IsAgentMatchSf(string agentno,string sf)
//    {
//        var result = true;
//        if ((!PFDataHelper.StringIsNullOrWhiteSpace(agentno)) && (!PFDataHelper.StringIsNullOrWhiteSpace(sf)))
//        {
//            SqlString =string.Format(@"
//select count(*) from newshop.dbo.agent 
//where newshop.dbo.agent.agentno like '{0}'
//and fgsno in(
//select fgsno from newshop.dbo.fgs
//where newshop.dbo.fgs.Sfno='{1}'
//) ",
//agentno,sf
//);
//            result = ((int)SqlExec.QuerySingleValue(SqlString))>0;
//        }
//        return result;
//    }
//    #endregion
//
//    #region 产品
//    /// <summary>
//    /// 查询产品类型[invtype],[typename]
//    /// </summary>
//    /// <param name="onlyFormal">仅正式产品</param>
//    /// <returns></returns>
//    public DataTable GetInvType(bool onlyFormal=true)
//    {
//        SqlString = "select * from [newshop].[dbo].[b_invtype] ";
//        if (onlyFormal)
//        {
//            SqlString += new SqlWhereCollection {
//                { "invtype", "05", SqlExpressionOperator.NotEqual },
//                { "invtype", "06", SqlExpressionOperator.NotEqual }
//            }.ToSql();
//        }
//        //SqlString = string.Format("select * from [newshop].[dbo].[b_invtype] {0} ",
//        //    new SqlWhereCollection {
//        //        { "invtype", "05", SqlExpressionOperator.NotEqual },
//        //        { "invtype", "06", SqlExpressionOperator.NotEqual }
//        //    }.ToSql()
//        //    );
//        //if (onlyFormal) { SqlString += " where invtype<>'05' and invtype<>'06' "; }
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 模糊查询产品
//    /// </summary>
//    /// <param name="invType"></param>
//    /// <param name="invNo"></param>
//    /// <param name="invName"></param>
//    /// <param name="onlyFormal">仅正式产品</param>
//    /// <returns></returns>
//    public DataTable GetInv(string invType,string invNo,string invName, bool onlyFormal = true)
//    {
//        var query = new SqlWhereCollection {
//                { "invtype",invType},
//                { "inv_no", invNo ,SqlExpressionOperator.Like},
//                { "inv_name", invName, SqlExpressionOperator.Like }
//            //,
//            //    { "invtype", "05", SqlExpressionOperator.NotEqual },
//            //    { "invtype", "06", SqlExpressionOperator.NotEqual }
//            };
//        if (onlyFormal)
//        {
//            query.Add("invtype", "05", SqlExpressionOperator.NotEqual);
//            query.Add("invtype", "06", SqlExpressionOperator.NotEqual);
//        }
//        SqlString = string.Format("select * from [newshop].[dbo].[b_inv] {0} ",
//            query.ToSql()
//            );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    #endregion
//
//    /// <summary>
//    /// 月份下拉数据源(cmonth:2018.04,databasename)
//    /// </summary>
//    /// <returns></returns>
//    public DataTable GetSystemMonthTable()
//    {
//        SqlString = "select left(cmonth,4)+'.'+right(cmonth,2) as cmonth,databasename from yjquery.dbo.databasetable order by cmonth desc";
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询系统开关表
//    /// </summary>
//    /// <returns></returns>
//    public DataTable GetAddMonth()
//    {
//        SqlString = " select * from addmonth ";
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询网络图
//    /// </summary>
//    /// <param name="hybh"></param>
//    /// <param name="db"></param>
//    /// <param name="ch"></param>
//    /// <returns></returns>
//    public DataTable GetMeshwork(string hybh,string db, int ch)
//    {
//        if(db== "HJ22")
//        {
//            SqlString = string.Format(" exec [p_GetMeshwork2_1] N'{0}' ",hybh);
//            return SqlExec.GetQueryTable(SqlString);
//        }else
//        {
//            SqlString = string.Format(" exec [p_GetMeshwork] N'{0}','{1}',{2} ", hybh,db,ch);
//            return SqlExec.GetQueryTable(SqlString);
//        }
//    }
//
//    /// <summary>
//    /// 查询查询业绩信息
//    /// </summary>
//    public System.Data.DataTable GetYJInfo(string sfno, string agentno, out string ms)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "p_seekyj1";
//        sqlExec.AddParameter("@sfno", SqlDbType.VarChar, 10,sfno);
//        sqlExec.AddParameter("@agentno", SqlDbType.VarChar, 10, agentno);
//        sqlExec.AddOutParameter("@ms", SqlDbType.VarChar, 40);
//        DataTable tb = sqlExec.GetQueryTable();
//        ms = sqlExec.ParameterArray["@ms"].Value.ToString();
//        return tb;
//    }
//
//    /// <summary>
//    /// 查询业绩新增
//    /// </summary>
//    public System.Data.DataTable GetYJNewAdd(string agentno, string qtype, out string ms)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "p_seekyj1mx1";
//        sqlExec.AddParameter("@agentno", SqlDbType.VarChar, 10, agentno);
//        sqlExec.AddParameter("@type", SqlDbType.VarChar, 10, qtype);
//        sqlExec.AddOutParameter("@ms", SqlDbType.VarChar, 40);
//        DataTable tb = sqlExec.GetQueryTable();
//        ms = sqlExec.ParameterArray["@ms"].Value.ToString();
//        return tb;
//    }
//
//    /// <summary>
//    /// 查询业绩-级别情况
//    /// </summary>
//    public System.Data.DataTable GetYJLevel(string agentno, out string ms)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "p_seekyj2";
//        sqlExec.AddParameter("@agentno", SqlDbType.VarChar, 10, agentno);
//        sqlExec.AddOutParameter("@ms", SqlDbType.VarChar, 40);
//        DataTable tb = sqlExec.GetQueryTable();
//        //if (sqlExec.ParameterArray != null)
//        //{
//        //    ms = sqlExec.ParameterArray["@ms"].Value.ToString();
//        //}else { ms = ""; }
//        ms = sqlExec.ParameterArray["@ms"].Value.ToString();
//
//        return tb;
//    }
//
//    /// <summary>
//    /// 查询产品-销量
//    /// </summary>
//    public System.Data.DataTable GetYJSales(string hybh, string inv_no, out string ms)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "p_seekyj3";
//        sqlExec.AddParameter("@hybh", SqlDbType.VarChar, 10, hybh);
//        sqlExec.AddParameter("@inv_no", SqlDbType.VarChar, 10, inv_no);
//        sqlExec.AddOutParameter("@ms", SqlDbType.VarChar, 40);
//        DataTable tb = sqlExec.GetQueryTable();
//        ms = sqlExec.ParameterArray["@ms"].Value.ToString();
//        return tb;
//    }
//    
//    /// <summary>
//    /// 查询客单量(注意：当sf有值时，fgsno不起作用)
//    /// </summary>
//    public System.Data.DataTable GetCusOrder(string sf, string fgsno,int m1=5000,int m2=10000)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "pw_getCusOrder";
//        sqlExec.AddParameter("@sfno", SqlDbType.VarChar, 10, sf);
//        sqlExec.AddParameter("@fgsno", SqlDbType.VarChar, 10, fgsno);
//        //sqlExec.AddInParameter("@m1", SqlDbType.Int, m1);
//        //sqlExec.AddInParameter("@m2", SqlDbType.Int, m2);
//        DataTable tb = sqlExec.GetQueryTable();
//        return tb;
//    }
//
//    /// <summary>
//    /// 查询大单消费(注意：当sf有值时，fgsno不起作用)
//    /// </summary>
//    public System.Data.DataTable GetSaleOver10000(string sf, string fgsno, int m1 = 5000, int m2 = 10000)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "pw_getSaleOver10000";
//        sqlExec.AddParameter("@sfno", SqlDbType.VarChar, 10, sf);
//        sqlExec.AddParameter("@fgsno", SqlDbType.VarChar, 7, fgsno);
//        sqlExec.AddInParameter("@m1", SqlDbType.Int, m1);
//        sqlExec.AddInParameter("@m2", SqlDbType.Int, m2);
//        DataTable tb = sqlExec.GetQueryTable();
//        return tb;
//    }
//    /// <summary>
//    /// 查询省-最高级别
//    /// </summary>
//    public System.Data.DataTable GetHighLevel(string sf, string qpos, out string ms)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "p_seekyj4";
//        sqlExec.AddParameter("@sf", SqlDbType.VarChar, 20, sf);
//        sqlExec.AddParameter("@pos", SqlDbType.VarChar, 2, qpos);
//        sqlExec.AddOutParameter("@ms", SqlDbType.VarChar, 40);
//        DataTable tb = sqlExec.GetQueryTable();
//        ms = sqlExec.ParameterArray["@ms"].Value.ToString();
//        return tb;
//    }
//
//    ///// <summary>
//    ///// 查询省-网络图
//    ///// </summary>
//    //public System.Data.DataTable GetYJProvinceNet(string sf)
//    //{
//    //    SqlString = string.Format("  exec p_GetMeshwork3 '{0}' ", sf);
//    //    return SqlExec.GetQueryTable(SqlString);
//    //}
////    /// <summary>
////    /// 查询省-网络图
////    /// </summary>
////    public System.Data.DataTable GetYJProvinceNet(string sf)
////    {
////        SqlString = string.Format(@"  select a.*,b.je,b.agentCount  from 
////agentnet a left join
////(
////select hybh, sum(je) as je,COUNT(*) as agentCount from agentyj group by hybh
////)
////b on b.hybh = a.hybh
////where a.sfno = '{0}' ", sf);
////        return SqlExec.GetQueryTable(SqlString);
////    }
//    /// <summary>
//    /// 查询省-网络图
//    /// </summary>
//    public System.Data.DataTable GetYJProvinceNet(string sf)
//    {
//        SqlString = string.Format(@"  
//select a.*,b.je,b.agentCount from 
//(select  * from agentnet where sfno = '{0}') a left join
//(
//select hybh, sum(je) as je,COUNT(*) as agentCount from agentyj group by hybh
//)b on b.hybh = a.hybh ", sf);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 查询金额明细(查询省-网络图)
//    /// </summary>
//    /// <param name="hybh"></param>
//    /// <param name="agentno"></param>
//    /// <returns></returns>
//    public System.Data.DataTable GetYJProvinceNetJeDetail(string hybh)
//    {
//        SqlString = string.Format(@"  
//select a.*,b.province,b.city,b.[address],b.telphone,b.fzrbh,b.fzrxm
//from agentyj a 
//left join newshop.dbo.agent b on b.fzrbh=a.hybh and b.agentno=a.agentno 
//where a.hybh='{0}' ", hybh);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询省-次月不活跃
//    /// </summary>
//    public System.Data.DataTable GetOnceHigh(string sf, out string ms)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "p_seekyj5";
//        sqlExec.AddParameter("@sf", SqlDbType.VarChar, 20, sf);
//        sqlExec.AddOutParameter("@ms", SqlDbType.VarChar, 40);
//        DataTable tb = sqlExec.GetQueryTable();
//        ms = sqlExec.ParameterArray["@ms"].Value.ToString();
//        return tb;
//    }
//
//    /// <summary>
//    /// 查询产品-即将达标
//    /// </summary>
//    public System.Data.DataTable GetReachStandard(string sf, string smon, string emon, string minpv, string maxpv)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "pw_mly_getYj";
//        sqlExec.AddParameter("@sfno", SqlDbType.VarChar, 10, sf);
//        sqlExec.AddInParameter("@minpv", SqlDbType.Int, minpv);
//        sqlExec.AddInParameter("@maxpv", SqlDbType.Int, maxpv);
//        sqlExec.AddParameter("@bmonth", SqlDbType.VarChar, 7, smon);
//        sqlExec.AddParameter("@emonth", SqlDbType.VarChar, 7, emon);
//        DataTable tb = sqlExec.GetQueryTable();
//        return tb;
//    }
//
//    /// <summary>
//    /// 查询收入
//    /// </summary>
//    public System.Data.DataTable GetIncome(string sf, string smon, string emon)
//    {
//        SqlString = string.Format("  exec pw_yj_hb_getSR  '{0}','{1}','{2}' ", sf, smon, emon);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询省-复购数量
//    /// </summary>
//    public System.Data.DataTable GetRepeatSales(string sf, string cmonth, string fgsno)
//    {
//        SqlString = string.Format("  exec pw_repeatSales  '{0}','{1}','{2}' ", sf, cmonth, fgsno);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询产品-区域汇总
//    /// </summary>
//    public System.Data.DataTable GetProductAreaSummary(string sf, string smon, string emon, string inv_no, out string ms)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "p_seekyj6";
//        sqlExec.AddParameter("@sfno", SqlDbType.VarChar, 10, sf);
//        sqlExec.AddParameter("@inv_no", SqlDbType.VarChar, 10, inv_no);
//        sqlExec.AddParameter("@cmon1", SqlDbType.VarChar, 7, smon);
//        sqlExec.AddParameter("@cmon2", SqlDbType.VarChar, 7, emon);
//        sqlExec.AddOutParameter("@ms", SqlDbType.VarChar, 40);
//        DataTable tb = sqlExec.GetQueryTable();
//        ms = sqlExec.ParameterArray["@ms"].Value.ToString();
//        return tb;
//    }
//    ///// <summary>
//    ///// 查询产品-区域汇总(手机端数据)
//    ///// </summary>
//    //public System.Data.DataTable GetProductAreaSummary(string sf, string cmonth, string inv_no)
//    //{
//    //    return balancedal.GetProductAreaSummary(sf, smon, emon, inv_no, out ms);
//    //}
//
//    /// <summary>
//    /// 查询查个人销售业绩
//    /// </summary>
//    public System.Data.DataTable GetHb(string hybh)
//    {
//        var sqlExec = yjquery;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "pw_getHb";
//        sqlExec.AddParameter("@hybh", SqlDbType.VarChar, 10, hybh);
//        DataTable tb = sqlExec.GetQueryTable();
//        return tb;
//    }
//
//    /// <summary>
//    /// 查询个人积分超额
//    /// </summary>
//    public System.Data.DataTable GetPersonJiFen(string jifen)
//    {
//        SqlString = string.Format("  exec seekpersonover {0}  ", jifen);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询个人积分明细
//    /// </summary>
//    public System.Data.DataTable GetPersonJiFenItem(string hybh)
//    {
//        SqlString = string.Format("  exec seekpersonoveritem  {0} ", (hybh??"").Trim());
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    ///// <summary>
//    ///// 查询积分超额集中店
//    ///// </summary>
//    //public System.Data.DataTable GetShopJiFen(int JiFen)
//    //{
//    //    SqlString = string.Format("  exec pw_seekcusover {0}  ", JiFen);
//    //    return SqlExec.GetQueryTable(SqlString);
//    //}
//    /// <summary>
//    /// 查询积分超额集中店(分公司可以为空)
//    /// </summary>
//    public System.Data.DataTable GetShopJiFen(string sf,string fgs,int JiFen)
//    {
//        SqlString = string.Format("  exec pw_seekcusover '{0}','{1}',{2}  ", sf, fgs??"", JiFen);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询专卖店积分超额产品明细
//    /// </summary>
//    public System.Data.DataTable GetShopJiFenInvItem(string cusNo, int jfpv)
//    {
//        SqlString = string.Format("  exec pw_seekcusoveritem1 '{0}',{1}  ", cusNo, jfpv);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 查询专卖店积分超额会员明细
//    /// </summary>
//    public System.Data.DataTable GetShopJiFenHyItem(string cusNo, int jfpv)
//    {
//        SqlString = string.Format("  exec pw_seekcusoveritem2 '{0}',{1}   ", cusNo, jfpv);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询按分公司查询积分超额
//    /// </summary>
//    public System.Data.DataTable GetCusOverTableByFgs(string fgsno, int pv, out int dshu, out int renshu)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "pw_seekcusover2";
//        sqlExec.AddParameter("@fgsno", SqlDbType.VarChar, 10, fgsno);
//        sqlExec.AddInParameter("@pv", SqlDbType.Int, pv);
//        sqlExec.AddOutParameter("@dshu", SqlDbType.Int);
//        sqlExec.AddOutParameter("@renshu", SqlDbType.Int);
//        DataTable tb = sqlExec.GetQueryTable();
//        dshu = (int)sqlExec.ParameterArray["@dshu"].Value;
//        renshu = (int)sqlExec.ParameterArray["@renshu"].Value;
//        return tb;
//    }
//    /// <summary>
//    /// 查询业务员上级信息
//    /// </summary>
//    public System.Data.DataTable GetBjhy(string hybh)
//    {
//        SqlString = string.Format("  exec seekbjhy  '{0}' ", hybh);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询会员补分
//    /// </summary>
//    public System.Data.DataTable GetHybf(string hybh)
//    {
//        SqlString = string.Format("  exec pw_hybf  '{0}' ", hybh);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 查询销售日报表
//    /// </summary>
//    /// <param name="sf">"全部"时显示全部</param>
//    /// <returns></returns>
//    public System.Data.DataTable GetSalesDailyReport(string sf)
//    {
//
//        //SqlString = string.Format(" exec xxx '{0}' ",  sf);
//        SqlString = string.Format(" exec pw_report_sales '{0}' ",
//            sf
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询服务中心各类产品销售比例
//    /// </summary>
//    public System.Data.DataTable GetProductSaleRate(string sf, string city,string date)
//    {
//
//        //SqlString = string.Format(" exec xxx '{0}' ,'{1}' ",  sf,city);
//        //SqlString = string.Format(" exec pw_report_sales_agent '{0}','{1}','{2}' ",
//        SqlString = string.Format(" exec pw_report_sales_agent_month '{0}','{1}','{2}' ",
//            sf ?? "全部",
//            city ?? "",
//            date
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询产品类型业务汇总表
//    /// </summary>
//    public System.Data.DataTable GetProductBusinessSummary(string sf)
//    {
//        SqlString = string.Format(" exec pw_report_sales_year_invtype '{0}' ",
//            sf
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询销售周报表
//    /// </summary>
//    public System.Data.DataTable GetSalesWeekReport(string sf, string smon, string emon)
//    {
//
//        SqlString = string.Format(" exec pw_report_sales_week '{0}' ,'{1}' ,'{2}' ", sf, smon, emon);
//
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询财务日报表(替换原来的销售日报表)
//    /// </summary>
//    public System.Data.DataTable GetFinancialDailyReport(string sf,DateTime date)
//    {
//        var sqlExec = SqlExec;
//        sqlExec.ClearParameter();
//        sqlExec.ProcName = "pw_report_sales21";
//        sqlExec.AddParameter("@sfno", SqlDbType.VarChar, 10, sf);
//        sqlExec.AddParameter("@date2", SqlDbType.DateTime, date, ParameterDirection.Input);
//
//        //SqlString = string.Format(" exec pw_report_sales2 '{0}' ",  sf);
//        return sqlExec.GetQueryTable();
//    }
//
//    /// <summary>
//    /// 导入PlanMonth
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportPlanMonth(List<PlanMonthImport> list)
//    {
//        #region old,替换全部
//        //var sb = new StringBuilder();
//        //if (list.Any())
//        //{
//        //    sb.Append(" delete from t_planMonth ");
//        //}
//        //foreach (PlanMonthImport item in list)
//        //{
//        //    //var insert = new SqlInsertCollection(item);
//        //    var insert = new SqlInsertCollection();
//        //    insert.Add("fgsno", item.FgsNo);
//        //    insert.Add("invtype", item.InvTypeNo);
//        //    insert.Add("cmonth", item.CMonth);
//        //    insert.Add("sales", item.Sales);
//        //    sb.AppendFormat(@" insert into t_planMonth({0}) values({1})
//        //    ", insert.ToKeysSql(), insert.ToValuesSql());
//        //}
//        //return SqlExec.ExecuteTransactSql(sb.ToString()); 
//        #endregion
//
//
//        return SqlExec.BatchImportChange("t_planMonth", list, d => {
//            return new SqlInsertCollection {
//                { "fgsno",d.FgsNo },
//                { "invtype",d.InvTypeNo},
//                { "cmonth", d.CMonth},
//                { "sales", d.Sales}
//                };
//        }, new string[] { "fgsno", "invtype", "cmonth" });
//    }
//
//    /// <summary>
//    /// 导入PlanMonth
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportSfPlanMonth(List<SfPlanMonthImport> list)
//    {
//        var sb = new StringBuilder();
//        if (list.Any())
//        {
//            sb.Append(" delete from t_sf_planMonth ");
//        }
//        foreach(SfPlanMonthImport item in list)
//        {
//            var insert = new SqlInsertCollection(item);
//            sb.AppendFormat(@" insert into t_sf_planMonth({0}) values({1})
//            ", insert.ToKeysSql(), insert.ToValuesSql());
//        }
//        return SqlExec.ExecuteTransactSql(sb.ToString());
//    }
//    /// <summary>
//    /// 导入LbPlanMonth
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportLbPlanMonth(List<LbPlanMonthImport> list)
//    {
//        var sb = new StringBuilder();
//        if (list.Any())
//        {
//            sb.Append(" delete from t_lb_planMonth ");
//        }
//        SqlInsertCollection insert = null;
//        foreach (LbPlanMonthImport item in list)
//        {
//            if (insert == null) {
//                insert = new SqlInsertCollection(item);
//            } else
//            {
//                insert.UpdateModelValue(item);
//            }
//            sb.AppendFormat(@" insert into t_lb_planMonth({0}) values({1})
//            ", insert.ToKeysSql(), insert.ToValuesSql());
//        }
//        return SqlExec.ExecuteTransactSql(sb.ToString());
//    }
//
//    /// <summary>
//    /// 查询各省各月预算PlanYear
//    /// </summary>
//    public List<PlanYearImport> GetPlanYearList(int? year)
//    {
//        var query = new SqlWhereCollection {
//                    {"year",year }
//
//            };
//        SqlString = string.Format(" select * from t_planYear {0} order by fgsno,invtype ",
//            query.ToSql()
//        );
//        var result = SqlExec.GetQueryTable(SqlString);
//        List<PlanYearImport> list = null;
//        //var result = balanceBLL.GetPlanYear(year);
//        if (result != null && result.Rows.Count > 0)
//        {
//            list = new List<PlanYearImport>();
//            foreach (DataRow row in result.Rows)
//            {
//                list.Add(new PlanYearImport
//                {
//                    FgsNo = PFDataHelper.ObjectToString(row["fgsno"]),
//                    InvTypeNo = PFDataHelper.ObjectToString(row["invtype"]),
//                    Year = PFDataHelper.ObjectToInt(row["year"]),
//                    Sales = PFDataHelper.ObjectToDecimal(row["sales"]),
//                });
//            }
//        }
//        return list;
//    }
//    
//    /// <summary>
//    /// 导入PlanYear
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportPlanYear(List<PlanYearImport> list)
//    {
//        #region old,全替换
//        //var sb = new StringBuilder();
//        //if (list.Any())
//        //{
//        //    sb.Append(" delete from t_planYear ");
//        //}
//        //foreach (PlanYearImport item in list)
//        //{
//        //    //var insert = new SqlInsertCollection(item);
//        //    var insert = new SqlInsertCollection();
//        //    insert.Add("fgsno", item.FgsNo);
//        //    insert.Add("invtype", item.InvTypeNo);
//        //    insert.Add("year", item.Year);
//        //    insert.Add("sales", item.Sales);
//        //    sb.AppendFormat(@" insert into t_planYear({0}) values({1})
//        //        ", insert.ToKeysSql(), insert.ToValuesSql());
//        //}
//        //return SqlExec.ExecuteTransactSql(sb.ToString());
//        #endregion
//
//        return SqlExec.BatchImportChange("t_planYear",list,d=> {
//            return new  SqlInsertCollection {
//                { "fgsno",d.FgsNo },
//                { "invtype",d.InvTypeNo},
//                { "year", d.Year},
//                { "sales", d.Sales}
//                };
//        },new string[] { "fgsno", "invtype", "year" });
//
//        ////SqlString = string.Format(" select * from t_planYear "
//        ////);
//        ////var oldPlanYearDt= SqlExec.GetQueryTable(SqlString);
//        //var oldPlanYearList = GetPlanYearList(null) ?? new List<PlanYearImport>();
//
//        //////var updateList = list.Where(a => oldPlanYearList.Any(b => b.FgsNo == a.FgsNo && b.InvTypeNo == a.InvTypeNo && b.Year == a.Year)).ToList();
//        //var updateList = oldPlanYearList
//        //    .Join(list,
//        //    o => new { o.FgsNo, o.InvTypeNo, o.Year },
//        //    l => new { l.FgsNo, l.InvTypeNo, l.Year },
//        //    (l, o) => l).ToList();
//        ////    .Where(a => oldPlanYearList.Any(b => b.FgsNo == a.FgsNo && b.InvTypeNo == a.InvTypeNo && b.Year == a.Year)).ToList();
//
//        //var proc = SqlExec;
//        //if(updateList!=null&& updateList.Any())
//        //{
//        //    //var update = new SqlUpdateCollection(updateList[0]).PrimaryKeyFields("fgsno", "");
//        //    var d = updateList[0];
//        //    var update = new SqlUpdateCollection {
//        //    { "fgsno",d.FgsNo },
//        //    { "invtype",d.InvTypeNo},
//        //    { "year", d.Year},
//        //    { "sales", d.Sales}
//        //    }.UpdateFields("sales").PrimaryKeyFields("fgsno", "invtype", "year");
//        //    proc.BatchUpdateByList("t_planYear", updateList, ref update);
//        //}
//
//        ////var leftData = (from first in firstNames
//        ////                join last in lastNames on first.ID equals last.ID into temp  //last有可能空
//        ////                from last in temp.DefaultIfEmpty(new { first.ID, Name = default(string) })  //或 from item in billTypeList.DefaultIfEmpty() //这行的last和第一行的first可在select时取到值
//        ////                select new
//        ////                {
//        ////                    first.ID,
//        ////                    FirstName = first.Name,
//        ////                    LastName = last.Name,   //StockQty = item != null ? item.StockQty : 0, //判断空
//        ////                });
//
//
//        //var sb = new StringBuilder();
//        //if (list.Any())
//        //{
//        //    sb.Append(" delete from t_planYear ");
//        //}
//        //foreach (PlanYearImport item in list)
//        //{
//        //    //var insert = new SqlInsertCollection(item);
//        //    var insert = new SqlInsertCollection();
//        //    insert.Add("fgsno", item.FgsNo);
//        //    insert.Add("invtype", item.InvTypeNo);
//        //    insert.Add("year", item.Year);
//        //    insert.Add("sales", item.Sales);
//        //    sb.AppendFormat(@" insert into t_planYear({0}) values({1})
//        //    ", insert.ToKeysSql(), insert.ToValuesSql());
//        //}
//        //return SqlExec.ExecuteTransactSql(sb.ToString());
//    }
//    
//    /// <summary>
//    /// 导入PlanYear
//    /// </summary>
//    /// <param name="list"></param>
//    /// <returns></returns>
//    public bool ImportSfPlanYear(List<SfPlanYearImport> list)
//    {
//        var sb = new StringBuilder();
//        if (list.Any())
//        {
//            sb.Append(" delete from t_sf_planYear ");
//        }
//        foreach (SfPlanYearImport item in list)
//        {
//            var insert = new SqlInsertCollection(item);
//            sb.AppendFormat(@" insert into t_sf_planYear({0}) values({1})
//            ", insert.ToKeysSql(), insert.ToValuesSql());
//        }
//        return SqlExec.ExecuteTransactSql(sb.ToString());
//    }
//    /// <summary>
//    /// 查询各省各月预算PlanMonth
//    /// </summary>
//    public System.Data.DataTable GetPlanMonth(int year)
//    {
//
//        var query = new SqlWhereCollection {
//                    {"cmonth",year.ToString(),SqlExpressionOperator.StartWith }//这里一定要toString(),因为StrtWith一定是string的
//
//            };
//        SqlString = string.Format(" select * from t_planMonth {0} order by fgsno,invtype ",
//            query.ToSql()
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 查询各省各月预算PlanMonth
//    /// </summary>
//    public System.Data.DataTable GetSfPlanMonth(int year)
//    {
//
//        var query = new SqlWhereCollection {
//                    {"cmonth",year.ToString(),SqlExpressionOperator.StartWith }//这里一定要toString(),因为StrtWith一定是string的
//
//            };
//        SqlString = string.Format(" select * from t_sf_planMonth {0} order by sfno,cmonth ",
//            query.ToSql()
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 查询各省各年预算PlanYear
//    /// </summary>
//    public System.Data.DataTable GetPlanYear(int year)
//    {
//
//        var query = new SqlWhereCollection {
//                    {"year",year }
//
//            };
//        SqlString = string.Format(" select * from t_planYear {0} order by fgsno,invtype ",
//            query.ToSql()
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 查询各省各年预算PlanYear
//    /// </summary>
//    public System.Data.DataTable GetSfPlanYear(int year)
//    {
//
//        var query = new SqlWhereCollection {
//                    {"year",year }
//
//            };
//        SqlString = string.Format(" select * from t_sf_planYear {0} order by sfno ",
//            query.ToSql()
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 查询各利宝分类各月预算PlanMonth
//    /// </summary>
//    public System.Data.DataTable GetLbPlanMonth(int year)
//    {
//
//        var query = new SqlWhereCollection {
//                    {"cmonth",year.ToString(),SqlExpressionOperator.StartWith }//这里一定要toString(),因为StrtWith一定是string的
//
//            };
//        SqlString = string.Format(" select * from t_lb_planMonth {0} order by invtype,cmonth ",
//            query.ToSql()
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//    /// <summary>
//    /// 查询区域同比
//    /// </summary>
//    public System.Data.DataTable GetRegionYearOnYear(string sf)
//    {
//
//        SqlString = string.Format(" exec pw_report_sf_tb '{0}' ",  sf);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询单店明细
//    /// </summary>
//    public System.Data.DataTable GetSingleShopDetail(string sf)
//    {
//
//        SqlString = string.Format(" exec pw_report_agent_tb '{0}' ", sf);
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询提升复购
//    /// </summary>
//    public System.Data.DataTable GetPromotionRePurchase(string sf, string cmonth)
//    {
//
//        SqlString = string.Format(" exec pw_report_sf_impovefg '{0}' ,'{1}' ", sf, cmonth);
//        return yjquery.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询级别晋升
//    /// </summary>
//    public System.Data.DataTable GetLevelPromotion(string sf, string cmonth)
//    {
//
//        SqlString = string.Format(" exec pw_report_sf_impovePos '{0}' ,'{1}' ",  sf, cmonth);
//        return yjquery.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 我的顾客（从生活网移过来的）
//    /// </summary>
//    /// <param name="userid"></param>
//    /// <returns></returns>
//    public System.Data.DataTable ListFirstGeneration(string userid)
//    {
//        var sql = SqlExec;
//        sql.ClearParameter();
//        sql.ProcName = "p_firstGeneration";
//        sql.AddInParameter("@hybh", SqlDbType.VarChar, 10, userid);
//        return sql.GetQueryTable();
//    }
//    /// <summary>
//    /// Sales是否匹配Order表的数据,为了防止数据错误但没发现
//    /// </summary>
//    /// <param name="ms"></param>
//    /// <returns></returns>
//    public bool IsSalesMatchOrders(out string ms)
//    {
//        try
//        {
//            var sql = SqlExec;
//            var sales = sql.GetQueryTable(@" 
//select fgsno,sum(qty*price) as totalmoney from sales --where fgsno='02000'
//group by fgsno
//order by fgsno").DataTableToList<SalesSf>();
//            var orders = sql.GetQueryTable(@" 
//select fgsno,sum(totalmoney) as totalmoney from orders --where fgsno='02000'
//group by fgsno
//order by fgsno").DataTableToList<SalesSf>();
//
//            var leftData = (from first in sales
//                            join last in orders on first.fgsno equals last.fgsno into temp  //last有可能空
//                            from last in temp.DefaultIfEmpty(new SalesSf { fgsno = first.fgsno ,totalmoney =0})  //或 from item in billTypeList.DefaultIfEmpty() //这行的last和第一行的first可在select时取到值
//                            select new KeyValuePair<String,bool>(first.fgsno,first.totalmoney== last.totalmoney)).ToList();
//            
//            if (leftData.Any(a => !a.Value))
//            {
//                ms = string.Format("省份[{0}]的业绩数据不正确", leftData.First(a => !a.Value).Key);
//                return false;
//            }
//
//            //for (int i = 0; i < sales.Count; i++)
//            //{
//            //    if ((!sales[i].fgsno.Equals(orders[i].fgsno))
//            //        || (sales[i].totalmoney != orders[i].totalmoney))
//            //    {
//            //        ms = string.Format("省份[{0}]的业绩数据不正确", sales[i].fgsno);
//            //        return false;
//            //    }
//            //}
//
//            ms = "";
//            return true;
//        }
//        catch(Exception e)
//        {
//            ms = e.Message;
//        }
//        return false;
//    }
//
//    /// <summary>
//    /// 查询各省各品类业绩
//    /// </summary>
//    [Obsolete("132.balance.sales表里只有当月的订单数据,此方法尽量不要用")]
//    public System.Data.DataTable GetSalesSfInv(DateTime? beginTime, DateTime? endTime)
//    {
//
//        var query = new SqlWhereCollection {
//                    {"date",beginTime,SqlExpressionOperator.Greater },
//                    {"date",endTime,SqlExpressionOperator.Less }
//            };
//        SqlString = string.Format(@" 
//select invtype,fgsno,sum(qty*price) as totalmoney from sales
//{0} 
//group by invtype,fgsno
//order by fgsno,invtype
//",
//            query.ToSql()
//        );
//        return SqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询月份业绩
//    /// </summary>
//    public System.Data.DataTable GetSalesDay(DateTime? beginTime, DateTime? endTime)
//    {
//
//        var query = new SqlWhereCollection {
//                    {"CDay",beginTime,SqlExpressionOperator.Greater },
//                    {"CDay",endTime,SqlExpressionOperator.Less }
//            };
//        SqlString = string.Format(" select * from [balance].[dbo].[SalesDay] {0} ",
//            query.ToSql()
//        );
//        return DaySqlExec.GetQueryTable(SqlString);
//    }
//
//    /// <summary>
//    /// 查询日结订单(联通读过来的)
//    /// </summary>
//    public System.Data.DataTable GetDayOrders(DateTime? smon, DateTime? emon, string orderno,string hybh,DayOrderMonthType monthType)
//    {
//
//        var query = new SqlWhereCollection {
//                    //{"Cmonth",smon ,SqlExpressionOperator.Greater},
//                    //{"Cmonth",emon ,SqlExpressionOperator.Less},
//                    {"Orderno",orderno },
//                    {"Hybh", hybh}
//                    //{"pay_status",PayStatus },
//                    //{"order_status",OrderStatus,SqlExpressionOperator.IN },
//                    //{"dr",Dr }
//
//            };
//        SqlString = string.Format(@" 
//select * 
//from {0}
//{1} ",monthType==DayOrderMonthType.Bonus? "t_orders" : "t_cur_orders",
//            query.ToSql()
//        );
//        return DaySqlExec.GetQueryTable(SqlString);
//    }
//    public System.Data.DataTable GetDayOrdersDetail(string orderno, DayOrderMonthType monthType)
//    {
//
//        var query = new SqlWhereCollection {
//                    {"Orderno",orderno }
//            };
//        SqlString = string.Format(@" 
//select * 
//from {0}
//{1} ", monthType == DayOrderMonthType.Bonus ? "t_ordersdetail" : "t_cur_ordersdetail",
//            query.ToSql()
//        );
//        return DaySqlExec.GetQueryTable(SqlString);
//    }
//    public System.Data.DataTable GetDayOrdersMoneyNotEqualDetail( DayOrderMonthType monthType)
//    {
//        
//        SqlString = string.Format(@" 
//select * from 
//(
//  select isnull(a.Orderno,b.Orderno) as Orderno,
//    sum(isnull(b.[Money],0)) as DetailMoney,
//    max(isnull(a.Totalmoney,0)) as OrderMoney
//  from {0} a
//  full join {0}detail b on b.Orderno = a.Orderno
//  group by a.Orderno,b.Orderno
//) c where DetailMoney<>OrderMoney
//order by c.Orderno
//",
//monthType == DayOrderMonthType.Bonus ? "t_orders" : "t_cur_orders"
//        );
//        return DaySqlExec.GetQueryTable(SqlString);
//    }
//
//    public DataTable GetOrdersSum()
//    {
//        //var query = new SqlWhereCollection { { "FuncCode", funcCode } };
//        //if (!(PFDataHelper.StringIsNullOrWhiteSpace(cmonth) || cmonth == "全部"))
//        //{
//        //    DateTime? start = null;
//        //    DateTime? end = null;
//        //    PFDataHelper.CMonthToDateRange(cmonth, out start, out end);
//        //    query.Add("CreateDate", start, SqlExpressionOperator.Greater);
//        //    query.Add("CreateDate", end, SqlExpressionOperator.Less);
//        //}
//        var sql = string.Format(@"
//SELECT TOP 30
//  [total_date]
//  ,[totalmoney]
//  ,[totalpv]
//FROM [balance].[dbo].[t_orders_sum]
//order by [total_date] desc
//"             
//);
//        return DaySqlExec.GetQueryTable(sql);
//    }
}